Auto open all modules in a project then close

Hello

I have created a "Parent / Child Requirements" view and propagated it through a good 50-100 modules in a project. I'm using 8.1

I have a DXL attribute showing recursive parent reqs 6 deep in one column, and another showing recursive child requirements 2 deep in another.

Funny thing I've come across is that since I have propagated the view and the dxl attributes to all the modules, on first open of the module and selection of the view, it is taking a considerably long time to open the view b/c the dxl att's are getting populated since they've been propagated, but not filled yet until first open of the view in the module.

Is there a script I can just leave running over night that will open all the modules in a project, and open the view so the att's will get populated, then save and close the module, and move on to the next module?

thanks in advance
richmason - Tue Mar 31 08:48:31 EDT 2009

Re: Auto open all modules in a project then close
llandale - Tue Mar 31 11:10:04 EDT 2009

Certain layout recalculates rediculously often for each object redisplay, but attr dxl will likewise refire when you open the module and display the view. So you are not saving time by doing this chore overnight.

In your case I'm sure that the Attr DXL is opening up modules that source links, and since you are doing that recursively a whopping 6 levels, LOTS of modules are getting opened in the background the first time you open a module with that view; and I'm sure that 'lots' means just about all the modules in your project.

If you really want an overnight chore, then forget about attr dxl and just have an on demand script (schedule to run at night) that calculates what you want and stores it in a Text attribute. Thus, all day long you get last nights results. If you are clever make the script available to run on demand for the currently open module. This script, of course, will open modules Edit, modify the obj-attr values, then save and close the module. The script will leave lots of modules open in the background (those sourcing links), and its tough to close them. You are likely to run out of memory on your machine.

Perhaps you can forget about the 6-deep recursive impact trace.

Perhaps your trace is clever enough to know how far deep your modules are in the hierarchy; System specs are 'one' link away from the ORD, SubSys specs link to the Sys and are '2' links away from the Ord, etc. If so, you can calculate the impact at any level by calculating for just one level, and adding to it the results of the previous level. So if two sys reqs are each linked to 3 Ord reqs, and you have a SubSys req linked to the two Sys Reqs, then the 2 Sys specs each display the 3 Ords, and then calculate the SubSys req which will display the two Sys reqs, and query that same attribute for their linked Ord reqs, so the SubSys spec doesn't need to access the Ord directly. The trick then will be to insure your DXL calculates the top specs first.

>Louie